package com.gw.booking.dto.backend;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.gw.booking.dto.wechat.OrderTimeDto;
import io.swagger.annotations.ApiModelProperty;
import org.hibernate.validator.constraints.NotBlank;

import javax.validation.constraints.NotNull;
import java.util.Date;
import java.util.List;

public class OrderDetailDto {
    @ApiModelProperty(value = "预约id", required = true)
    @NotNull
    private Integer OrderId;
    @ApiModelProperty(value = "预约状态", required = true)
    @NotNull
    private Integer state;
    @ApiModelProperty(value="预约人数", required = true)
    private Integer orderNum;
    @ApiModelProperty(value="预约日期" ,example = "2018-01-01", required = true)
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date orderDate;
    @ApiModelProperty(value="预约时间",example = "2018-01-01 10:00:00", required = true)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date orderTime;
    @ApiModelProperty(value = "姓名", required = true)
    @NotBlank
    private String name;
    @ApiModelProperty(value = "手机号", required = true)
    @NotBlank
    private String phone;
    @ApiModelProperty(value = "备注")
    private String note;
    @ApiModelProperty(value = "预约时间集合（预约时间未确认前可修改）", required = true)
    private List<OrderTimeDto> orderTimeDtoList;
    @ApiModelProperty(value="却下理由：1满席2订休日3其他")
    private Integer failReason;
    @ApiModelProperty(value="却下备注")
    private String failNote;


    public Integer getOrderId() {
        return OrderId;
    }

    public void setOrderId(Integer orderId) {
        OrderId = orderId;
    }

    public Integer getState() {
        return state;
    }

    public void setState(Integer state) {
        this.state = state;
    }

    public Integer getOrderNum() {
        return orderNum;
    }

    public void setOrderNum(Integer orderNum) {
        this.orderNum = orderNum;
    }

    public Date getOrderDate() {
        return orderDate;
    }

    public void setOrderDate(Date orderDate) {
        this.orderDate = orderDate;
    }

    public Date getOrderTime() {
        return orderTime;
    }

    public void setOrderTime(Date orderTime) {
        this.orderTime = orderTime;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    public String getNote() {
        return note;
    }

    public void setNote(String note) {
        this.note = note;
    }

    public List<OrderTimeDto> getOrderTimeDtoList() {
        return orderTimeDtoList;
    }

    public void setOrderTimeDtoList(List<OrderTimeDto> orderTimeDtoList) {
        this.orderTimeDtoList = orderTimeDtoList;
    }

    public Integer getFailReason() {
        return failReason;
    }

    public void setFailReason(Integer failReason) {
        this.failReason = failReason;
    }

    public String getFailNote() {
        return failNote;
    }

    public void setFailNote(String failNote) {
        this.failNote = failNote;
    }
}
